package com.zshan.clinic.common.enums;


import com.zshan.clinic.common.util.string.StringUtil;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 文件类型
 */
public enum FileSuffixTypeEnum {

    apk(".apk", FileTypeEnum.FILE.getValue(),"apk"),
    zip(".zip", FileTypeEnum.FILE.getValue(),"zip"),
    bmp(".bmp", FileTypeEnum.IMG.getValue(),"bmp"),
    jpg(".jpg", FileTypeEnum.IMG.getValue(),"jpeg"),
    jpeg(".jpeg", FileTypeEnum.IMG.getValue(),"jpeg"),
    png(".png", FileTypeEnum.IMG.getValue(),"png"),
    mp3(".mp3", FileTypeEnum.FILE.getValue(),"mp3"),
    wma(".wma", FileTypeEnum.FILE.getValue(),"wma"),
    avi(".avi", FileTypeEnum.FILE.getValue(),"avi"),
    rm(".rm", FileTypeEnum.FILE.getValue(),"rm"),
    rmvb(".rmvb", FileTypeEnum.FILE.getValue(),"rmvb"),
    flv(".flv", FileTypeEnum.FILE.getValue(),"flv"),
    mpg(".mpg", FileTypeEnum.FILE.getValue(),"mpg"),
    mov(".mov", FileTypeEnum.FILE.getValue(),"mov"),
    mtv(".mtv", FileTypeEnum.FILE.getValue(),"mtv"),
    gif(".gif", FileTypeEnum.FILE.getValue(),"gif");
    private String value;
    private String type;
    private String text;

    FileSuffixTypeEnum(String value, String type, String text) {
        this.value = value;
        this.type = type;
        this.text = text;
    }

    public String getValue() {
        return this.value;
    }

    public String getText() {
        return this.text;
    }

    public String getType() {
        return type;
    }

    public static FileSuffixTypeEnum get(String value) {
        FileSuffixTypeEnum [] arr$ = values();
        int len$ = arr$.length;

        for(int i$ = 0; i$ < len$; ++i$) {
            FileSuffixTypeEnum dot = arr$[i$];
            if (value.equals(dot.getValue())) {
                return dot;
            }
        }
        return null;
    }

    public static FileSuffixTypeEnum getValue(String value) {
        if(StringUtil.isBlank(value)){
            return null;
        }
        FileSuffixTypeEnum [] arr$ = values();
        int len$ = arr$.length;
        for(int i$ = 0; i$ < len$; ++i$) {
            FileSuffixTypeEnum dot = arr$[i$];
            if (value.equals(dot.getValue())) {
                return dot;
            }
        }
        return null;
    }

    public static String getText(String value) {
        if(StringUtil.isBlank(value)){
            return null;
        }
        FileSuffixTypeEnum [] arr$ = values();
        int len$ = arr$.length;
        for(int i$ = 0; i$ < len$; ++i$) {
            FileSuffixTypeEnum dot = arr$[i$];
            if (value.equals(dot.getValue())) {
                return dot.getText();
            }
        }
        return null;
    }

    public static boolean isValue(String value) {
        if(StringUtil.isBlank(value)){
            return false;
        }
        FileSuffixTypeEnum [] arr$ = values();
        int len$ = arr$.length;
        for(int i$ = 0; i$ < len$; ++i$) {
            FileSuffixTypeEnum dot = arr$[i$];
            if (value.equals(dot.getValue())) {
                return true;
            }
        }
        return false;
    }

    public Map toMap() {
        Map map = new HashMap();
        map.put("value", this.value);
        map.put("type", this.type);
        map.put("text", this.text);
        return map;
    }

    public static List<Map> allToMap() {
        List<Map> list = new ArrayList();
        FileSuffixTypeEnum [] arr$ = values();
        int len$ = arr$.length;
        for(int i$ = 0; i$ < len$; ++i$) {
            FileSuffixTypeEnum dot = arr$[i$];
            list.add(dot.toMap());
        }
        return list;
    }
}
